<?php

class Pedido extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('pedido_model');        
        $this->load->model('persona_model');
        require('PDFReport.php');
    }
    
    public function buscCliente(){
        $tipPer= $this->input->get('tipPer');
        $ruc = $this->input->get('ruc');
        $razon = $this->input->get('razon');
        $docu= $this->input->get('docu');
        $nombs = $this->input->get('nombs');
        $apellidos = $this->input->get('apellidos');
        $session_data = $this->session->userdata['logged_in'];
        $idUsuario=$session_data['user_id'];
        $clientes=$this->persona_model->buscarcliente($idUsuario,$tipPer,$ruc,$razon,$docu,$nombs,$apellidos);
        $cad=sipcop_opteblaName('','table table-hover','Código','Tipo Persona','RUC','Razón','Nombre (Repre)','Apellido (Repre)','Documento (Repre)');        
        foreach ($clientes as $client) { 
            $cad=$cad.(sipcop_tableRowEvent("onclick=\"cargarPac(this,'codCli','ruc','idNomRep');limpiardiv('clientes')\"",$client['codPer'],$client['tipo'],$client['ruc'],$client['razon'],$client['nomb'],$client['apellido'],$client['dni']));
        }
        $cad=$cad.(sipcop_closeTable());
        echo $cad;        
    }
    public function consultaIns(){
        $session_data = $this->session->userdata['logged_in'];
        $idUsuario=$session_data['user_id'];
        if($this->input) {
            $queryString = $this->input->post('queryString');
            $nombre = $this->input->post('nombre');
            $numItem = $this->input->post('numItem');
            // Is the string length greater than 0?			
            if(strlen($queryString) >0) {
                $query = $this->pedido_model->buscarInsumo($queryString,$idUsuario);
                if($query) {
                    foreach ($query as $insum){                        
                    echo '<li onClick="fill(\''.$insum['NombreInsumo'].'\',\''.$nombre.'\',\''.$numItem.'\',\''.$insum['IdInsumo'].'\',\''.$insum['Unidad'].'\')">'.$insum['NombreInsumo'].'</li>';
                        
                    }                    
                }  
            }
                        
         }
    }
    public function verPedido($idPedido){
        $this->load->model('cliente_model');
        $session_data = $this->session->userdata['logged_in'];
        $idUsuario=$session_data['user_id'];        
        $Pedido=$this->pedido_model->buscarPedido('',$idUsuario,'','',$idPedido,'','','','','','');        
        $lineasPed=$this->pedido_model->buscarLineaPedido($idPedido,$Pedido[0]['codclient']);
        $cliente=$this->cliente_model->buscarCliente($Pedido[0]['codclient']);
        
        //se carga el pedido
        $login=$this->loggedIn();
        $args['comboEst'] =  $this->pedido_model->comboEstados();
        $args['codPedido'] =  $idPedido;
        $args['lineas'] =  $lineasPed;
        $args['pedido'] =  $Pedido[0];
        $args['cliente'] =  $cliente[0];
        $args['title'] = 'Pedido';
        $args['modif'] = '1';
        $args['content'] = 'pedido/pedido';
        $args['categorias'] = $this->pedido_model->comboCategorias();
        $args['cod']=1;//momentaneo
        //$session_data = $this->session->userdata['logged_in'];
        $args['username'] = $login['username'];        
        $this->load->view('view',$args);
    }
    
    public function consultaInsProve(){
        $session_data = $this->session->userdata['logged_in'];
        $idUsuario=$session_data['user_id'];        
        if($this->input) {
            $queryString = $this->input->post('queryString');
            $nombre = $this->input->post('nombre');
            
            // Is the string length greater than 0?			
            if(strlen($queryString) >0) {
                $query = $this->pedido_model->buscarInsumo($queryString,$idUsuario);
                if($query) {
                    foreach ($query as $insum){
                        echo '<li onClick="fill(\''.$insum['NombreInsumo'].'\',\''.$nombre.'\',\''.$insum['IdInsumo'].'\',\''.$insum['Unidad'].'\')">'.$insum['NombreInsumo'].'</li>';
                    }                    
                }  
            }
                        
         }
    }
    
    public function modificarPed(){
        //se procede a leer los parametros idPedido
        $idPedido= $this->input->post('idPedido');
        $idCliente= $this->input->post('codCli');
        $fechaEntrega= $this->input->post('fecEnt');
        $Prioridad=$this->input->post('prioridad');
        $estadoPed=$this->input->post('opRad');
        $detalle=$this->input->post('det');
        $igv=$this->input->post('igv');
        $util=$this->input->post('util');
        $total=$this->input->post('total');
        $adelanto=$this->input->post('adel');
        $session_data = $this->session->userdata['logged_in'];
        $user=$session_data['user_id'];//$this->input->post('adel');
        $pedido= array('FechaRecepcion'=>date("Y-m-d"),'FechaEntrega'=>date('Y-m-d',strtotime($fechaEntrega)),'Prioridad'=>$Prioridad,
                'Total'=>$total,'Adelanto'=>$adelanto,'IdEstadoPedido'=>$estadoPed,'IdCliente'=>$idCliente,
                'IdUsuario'=>$user,'Detalle'=>$detalle,'utilidad'=>$util,
                'IGV'=>$igv);
        $this->pedido_model->actualizarPedido($idPedido,$pedido);
        $this->buscarPedido('Se modifico correctamente el pedido: '.$idPedido);
    }
    public function  encuentraPed(){
        
        $fecha = $this->input->get('fechadesd');
        $fechahasta = $this->input->get('fechahasta');
        $codigo = $this->input->get('codOrden');
        $cliente = $this->input->get('codCliente');
        $ruc = $this->input->get('ruc');
        $razon = $this->input->get('razon');
        $nombres = $this->input->get('nombres');
        $apellidos = $this->input->get('apellidos');
        $dni = $this->input->get('dni');
        $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id'];       
        $IdEstado = $this->input->get('estado');       
        $pedidos = $this->pedido_model->buscarPedido($IdEstado,$usuarioSesion,$fecha,$fechahasta,$codigo,$cliente,$ruc,$razon,$dni,$nombres,$apellidos);
        
        $cad = "<div style='overflow:scroll; height:250px'>
        <table class='table table-bordered'>
        <thead>";
        $cad = $cad . "<th>Código Pedido</th> <th>Fecha Recepción</th><th>Fecha de Entrega</th>";
        $cad = $cad . "<th>RUC</th> <th>Razón Social</th><th>Nombre Representate</th><th>Estado</th><th>Ver</th>     
        </thead>
        <tbody>";       
        foreach ($pedidos as $orden) {            
            $cad2 = "<tr class='tr_hover_nothing' onmouseover=\"this.className='tr_hover_color';\"
                onmouseout=\"this.className='tr_hover_nothing';\"
                onClick=\"asignarFila(this)\">
            <td align='center' valign='middle'>" . $orden['codPed'] . "</td>
            <td align='center' valign='middle'>" . $orden['Fechareg'] . "</td>
            <td align='center' valign='middle'>" . $orden['FechaEnt'] . "</td>
            <td align='center' valign='middle'>" . $orden['ruc'] . "</td>
            <td align='center' valign='middle'>" . $orden['razon'] . "</td>
            <td align='center' valign='middle'>" . $orden['nombr']." ".$orden['apellidos']. "</td>
            <td align='center' valign='middle'>" . $orden['estado']. "</td>      
            <td align='center' valign='middle'><a href=".  base_url()."pedido/verPedido/".$orden['codPed'].">Ver</a></td>
            </tr>";
            $cad = $cad . $cad2;
            $cad2 = "";
        }
        $cad = $cad . "</tbody></table></div>";
        echo $cad;
    }
    public function buscarPedido($mensaje='')
    {
        if($mensaje!=''){
            $args['confirm'] = 'pedido';
            $args['mensaje'] = $mensaje;
        }
        $login=$this->loggedIn();
        $args['options'] = $this->pedido_model->comboEstados();
        $args['title'] = 'Pedido';
        $args['content'] = 'pedido/buscarPedido';        
        //$session_data = $this->session->userdata['logged_in'];
        $args['username'] = $login['username'];        
        $this->load->view('view',$args);

    }
    public function buscarListaPedido()
    {
        $login=$this->loggedIn();     
        $args['title'] = 'Pedido';
        $args['content'] = 'pedido/buscarPedidoProvedor';        
        //$session_data = $this->session->userdata['logged_in'];
        $args['username'] = $login['username'];        
        $this->load->view('view',$args);

    }
    public function imprimirLista(){
         $login=$this->loggedIn();
        $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id']; 
        $codgigoLista = $this->input->get('codLista');
        $listacompra=$this->pedido_model->buscarListaCompra($usuarioSesion,'','',$codgigoLista);
        //se imprimira
        $lineas = $this->pedido_model->lineasCompra($codgigoLista);
        
        $filas=array();
        $m=0;
     
        foreach($lineas as $linea){
            $m++;
            $data=array();
            array_push($data,$m);
            $insumo=$this->pedido_model->busCodInsu($linea['IdInsumo']);
            array_push($data,$insumo[0]['NombreInsumo']);
            if($linea['idProveedor']==''){
                array_push($data,'No Existe');
            }
            else {
                $porveedor=$this->pedido_model->buscarProvedor($linea['idProveedor']);
                array_push($data,$porveedor[0]['RazonSocial']);
            }
            
            array_push($data,$linea['Detalle']);
             array_push($data,$linea['Cantidad']);
              array_push($data,$insumo[0]['preUnidad']);
               array_push($data,$linea['Subtotal']);
               
               array_push($filas,$data);
               unset($data);
        }
  
        $total=$listacompra[0]['CostoTotal'];
        $nomDoc = $login['username'].'_MiListadeCompra';
        $pdf=new PDFReport();
        $header=array('Numero','Nombre Insumo','Proveedor','Descripcion','Cantidad','Precio Unidad','Subtotal');
     
        $pdf->crearPDFTabla('Lista de Compra',$header,$filas,40,10);  
        $pdf->total($total);
        $pdf->Output($nomDoc.'.pdf', 'I');
    }
    public function buscarlistaCompra(){        
        $fecha = $this->input->get('fechadesd');
        $fechahasta = $this->input->get('fechahasta');
        $codigo = $this->input->get('codOrden');
        $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id'];       
       
        $listas = $this->pedido_model->buscarListaCompra($usuarioSesion,$fecha,$fechahasta,$codigo);
        
        $cad = "<div style='overflow:scroll; height:250px'>
        <table class='table table-bordered'>
        <thead>";
        $cad = $cad . "<th>Código Lista</th> <th>Fecha Registro</th><th>Costo Total</th>";
        $cad = $cad . "<th>Ver</th>    
        </thead>
        <tbody>";       
        foreach ($listas as $orden) {            
            $cad2 = "<tr class='tr_hover_nothing' onmouseover=\"this.className='tr_hover_color';\"
                onmouseout=\"this.className='tr_hover_nothing';\"
                onClick=\"asignarFila(this)\">
            <td align='center' valign='middle'>" . $orden['IdListaCompraInsumos'] . "</td>
            <td align='center' valign='middle'>" . $orden['FechaLista'] . "</td>
            <td align='center' valign='middle'>" . $orden['CostoTotal'] . "</td>
            <td align='center' valign='middle'><a class='btn btn-small' onclick=\"imprimir('".$orden['IdListaCompraInsumos']."')\"><i class='icon-print'></i></a></td>
            </tr>";
            $cad = $cad . $cad2;
            $cad2 = "";
        }
        $cad = $cad . "</tbody></table></div>";
        echo $cad;
    }
    public function cargarPedido($mensaje='')
    {
        if($mensaje!=''){
            $args['confirm'] = 'pedido';
            $args['mensaje'] = $mensaje;
        }
        $login=$this->loggedIn();
        $args['title'] = 'Pedido';
        $args['content'] = 'pedido/pedido';
        $args['categorias'] = $this->pedido_model->comboCategorias();
        $args['cod']=1;//momentaneo
        //$session_data = $this->session->userdata['logged_in'];
        $args['username'] = $login['username'];        
        $this->load->view('view',$args);

    }
    public function guardarPedido(){
         $login=$this->loggedIn();
         $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id']; 
        if ($this->input){
            //se procede a leer los parametros
             $idCliente= $this->input->post('codCli');
             $fechaEntrega= $this->input->post('fecEnt');
             $Prioridad=$this->input->post('prioridad');
            
             $estadoPed=$this->input->post('opRad');
            $detalle=$this->input->post('det');
            $igv=$this->input->post('igv');
            $util=$this->input->post('util');
            $total=$this->input->post('total');
            $adelanto=$this->input->post('adel');
            $session_data = $this->session->userdata['logged_in'];
            $user=$session_data['user_id'];//$this->input->post('adel');
            //Se guarda el pedido
            $pedido= array('FechaRecepcion'=>date("Y-m-d"),'FechaEntrega'=>date('Y-m-d',strtotime($fechaEntrega)),'Prioridad'=>$Prioridad,
                'Total'=>$total,'Adelanto'=>$adelanto,'IdEstadoPedido'=>$estadoPed,'IdCliente'=>$idCliente,
                'IdUsuario'=>$user,'Detalle'=>$detalle,'utilidad'=>$util,
                'IGV'=>$igv);
            $idPedido=$this->pedido_model->guargarPedido($pedido);
            //se guardara los items para obtener el iddel Item
            //valores de los items
            $cantItems=$this->input->post('cantItem');//cantidad de itema gregados            
            $numTems=$this->input->post('numItemPed');
            $nomItems=$this->input->post('nomPed');
            $categoItems=$this->input->post('categoItem');
            $descripItems=$this->input->post('descripItem');
            $cantPrendItems=$this->input->post('cantidPrendas');
            $precUniItems=$this->input->post('prUni');
            $subTotalItems=$this->input->post('subTota');
            //valores de los insumos
             $proveedores=$this->input->post('proveedor');
             $idInsu=$this->input->post('idInsu');
            $cantInsum=$this->input->post('numInsu');//cantidad de itema gregados
            $numInsumo=$this->input->post('numIns');//cantidad de itema gregados
            $nomIns=$this->input->post('nomIns');//cantidad de itema gregados
            $cantidadIns=$this->input->post('cantidadIns');//cantidad de itema gregados
            $unidadIns=$this->input->post('unidadIns');//cantidad de itema gregados
            $precUniIns=$this->input->post('precUniIns');//cantidad de itema gregados
            $descripIns=$this->input->post('descripIns');//cantidad de itema gregados
            $subtIns=$this->input->post('subtIns');//cantidad de itema gregados
            
            //valores de las fases
            $cantFasess=$this->input->post('numFas');//cantidad de itema gregados
            $numFase=$this->input->post('numFase');//cantidad de itema gregados
            $nomFase=$this->input->post('faseName');//cantidad de itema gregados
            $cantidadFase=$this->input->post('cantFas');//cantidad de itema gregados
            $tipoFase=$this->input->post('valtipoFa');//cantidad de itema gregados
            $precUniFase=$this->input->post('precUniFas');//cantidad de itema gregados
            $descripFase=$this->input->post('descripFas');//cantidad de itema gregados
            $subtFase=$this->input->post('subtFase');//cantidad de itema gregados
            $unidadFase=$this->input->post('UniFas');//cantidad de itema gregados
            $i=0;
            $j=0;
            $k=0; 
            $debecomprar=false;
           echo ($cantItems);
            for($i=0;$i<$cantItems;$i++){
                $colour = dechex(rand(0,10000000));
                 $lineapedido= array('NombreItem'=>$nomItems[$i],'Descripcion'=>$descripItems[$i],'Cantidad'=>$cantPrendItems[$i],
                     'Subtotal'=>$subTotalItems[$i],'IdPedido'=>$idPedido,'IdPersona'=>$idCliente,
                     'PrecioUnitario'=>$precUniItems[$i],'IdCategoria'=>$categoItems[$i],'Color'=>$colour);
                 $idLinea=$this->pedido_model->guargarLineaItem($lineapedido);
                 //Se guardaran los insumos
               
                 for($j=0;$j<$cantInsum[$i];$j++){
                     $insumo=array();$idInsumo=$idInsu[$j];$cantDispo=0;$precioUni=0;
                     if($idInsumo=='-1'){//se crea el insumo
                         $dato=array('DetalleCaracteristica'=>$descripIns[$j]);
                         $idCract= $this->pedido_model->cracteristicaInsumo($dato);                      
                         $insumo=array('NombreInsumo'=>$nomIns[$j],'Unidad'=>$unidadIns[$j],
                         'preUnidad'=>$precUniIns[$j],'CantidadDisponible'=>0,'DetalleInsumo'=>$descripIns[$j],'NumeroCaract'=>$idCract,
                         'IdUsuario'=>$usuarioSesion);
                         $idInsumo= $this->pedido_model->creaInsumo($insumo);
                         
                         $precioUni=$precUniIns[$j];
                     }
                     else {
                         $cant=$this->pedido_model->cantidadDisponible($idInsumo);
                         $cantDispo=$cant[0];
                         if($proveedores[$j]==''){
                             $precioUni=$precUniIns[$j];
                         } else {
                             $precio=$this->pedido_model->buscarPrecio($proveedores[$j],$idInsumo);
                             $precioUni=$precio[0]['prec'];
                         }
                     }
                     //se verificara siexiste en lamacen
                     $cantInsumo=  floatval($cantDispo)-floatval($cantidadIns[$j]);
                     $cantComprar=0;
                     $cantDisponible=0;$Estado=0;                     
                     if($cantInsumo>0){
                         $cantDisponible=$cantInsumo;//la diferencia
                         $Estado=1;
                     }else if($cantInsumo<0){
                         $cantComprar=abs($cantInsumo);//lo q falta comprar
                         $debecomprar=true;
                     } else $Estado=1;
                     //se actualiza con la cantidad disponible
                     $dato=array('CantidadDisponible'=>$cantDisponible);
                     $this->pedido_model->actualizarInsumo($idInsumo,$dato);               
                     $insumo=array('Insumo_IdInsumo'=>$idInsumo,'Estado'=>$Estado,'CantidadComprar'=>$cantComprar,
                         'CantidadNecesitada'=>$cantidadIns[$j],'IdProveedor'=>$descripIns[$j],'PrecioUnid'=>$precioUni,
                         'IdLineaPedido'=>$idLinea);
                     $this->pedido_model->guardarInsumo($insumo);
                     //se guardara el insumo cotizado en el pedido
                     $insumo=array('Nombre'=>$nomIns[$j],'Cantidad'=>$cantidadIns[$j],'Unidad'=>$unidadIns[$j],
                         'PreUnid'=>$precioUni,'Descripcion'=>$descripIns[$j],'Subtotal'=>$subtIns[$j],
                         'IdLineaPedido'=>$idLinea,'IdInsumo'=>$idInsumo);
                     $this->pedido_model->guardarInsumoCot($insumo);
                 }
                 //Se guardaran los fase
                 for($k=0;$k<$cantFasess[$i];$k++){
                     $fase=array('IdTrabajo'=>$nomFase[$k],'Descripcion'=>$descripFase[$k],
                         'UnidadCosteo'=>$unidadFase[$k],'PUniCost'=>$precUniFase[$k],'CantUni'=>$cantidadFase[$k],
                         'IdLineaPedido'=>$idLinea,'idCategoriaTrabajo'=>$tipoFase[$k],'Subtotal'=>$subtFase[$k]);
                     $this->pedido_model->guardarFase($fase);
                 }
            }            
            $login=$this->loggedIn();
            if($debecomprar){
                $this->cargarPedido('Se guardo el pedido exitosamente.Pero tiene insumos por comprar.
                    . Busque los insumos a comprar en la opción "Pedido de Proveedor" con el codigo del pedido:'.$idPedido);
            }
            else $this->cargarPedido('Se guardo el pedido exitosamente');

        }
    }
    public function comboTrabajos(){
        $codcatTrabajo=$this->input->get('codigoTrabajo');
        $numItem=$this->input->get('numItem');       
      
         $session_data = $this->session->userdata['logged_in'];
        $user=$session_data['user_id']; 
        $trabajo=$this->pedido_model->comboTrabajos($codcatTrabajo,$user);
        if($codcatTrabajo!="-1"){
           $cad= "<div class='controls' id='comboTrabajos".$numItem."' name='comboTrabajos".$numItem."'>";
           $cad=$cad.sipcop_comboBoxID('nomFas[]','nomFas'.$numItem , '', $trabajo, '', 'Trabajo', true, $size='180', $inForm=false);
           $cad=$cad."</div>";
           echo $cad; 
        }
        else echo "";
        
    }
    public function listaProveedor()
    {
        $login=$this->loggedIn();
        $args['title'] = 'Proveedor';
        $args['content'] = 'pedido/listaProvedor';

        //$session_data = $this->session->userdata['logged_in'];
        $args['username'] = $login['username'];        
        $this->load->view('view',$args);

    }
    
    public function buscarPedconIsumos(){
        
        $fecha = $this->input->get('fechadesd');
        $fechahasta = $this->input->get('fechahasta');
        $codigo = $this->input->get('codOrden');
        $cliente = $this->input->get('codCliente');
        $ruc = $this->input->get('ruc');
        $razon = $this->input->get('razon');
        $nombres = $this->input->get('nombres');
        $apellidos = $this->input->get('apellidos');
        $dni = $this->input->get('dni');
        $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id'];                    
        $pedidos = $this->pedido_model->buscarPedidoconInsumos($usuarioSesion,$fecha,$fechahasta,$codigo,$cliente,$ruc,$razon,$dni,$nombres,$apellidos);
      
        $cad = "<div style='overflow:scroll; height:250px'>
        <table class='table table-bordered'>
        <thead>";
        $cad = $cad . " 
            <th>Cod. Pedido</th> 
            <th>Fecha Registro</th>
            <th>RUC</th>
            <th>Razon</th>
            <th>Nombre (repre.)</th>
            <th>Cant Insumos</th> 
            <th>Agregar</th>  
            </thead>
            <tbody>";
        $cad2 = "";
        foreach ($pedidos as $orden) { 
            if($orden['codPed'] !=''){
                $cad2 = "<tr class='tr_hover_nothing'>
                <td align='center' valign='middle'>" . $orden['codPed'] . "</td>
                <td align='center' valign='middle'>" . $orden['Fechareg'] . "</td>            
                <td align='center' valign='middle'>" . $orden['ruc'] . "</td>
                <td align='center' valign='middle'>" . $orden['razon'] . "</td>
                <td align='center' valign='middle'>" . $orden['nombr']." ".$orden['apellidos']. "</td>
                <td align='center' valign='middle'>" . $orden['total']. "</td>      
                <td align='center' valign='middle'><a class='btn btn-small' onclick='agregarInsumos(\"".$orden['codPed']."\");cerrar()'><i class='icon-hand-left'></i></a></td>
                </tr>";
            }            
            $cad = $cad . $cad2;
            $cad2 = "";
        }
        $cad = $cad . "</tbody></table></div>";
        echo $cad;        
    }
    
    public function agregarInsumos(){
        $codPed = $this->input->get('codPed');
        $insumos=$this->pedido_model->obtenerInsumos($codPed);
        echo json_encode($insumos);
    }
    
    public function comboProveedor(){
        $IdInsu= $this->input->get('idInsu');
        $numItem= $this->input->get('numItem');
        $cad="";
        if($IdInsu!=''){           
           
             $id='provedor'.$numItem; 
            $cadena="<select  data-placeholder='Seleccione Proveedor'  id='".$id."' name='provedor'
                class='chzn-select' style='width:180px' onchange='cargarPrecio(".$numItem.")'>  ";
          
            $comboProve=$this->pedido_model->comboProveedor($IdInsu);
            if(count($comboProve)>0){
                $cad= "<div class='control-group'>";
                $cad=$cad. "<label class='control-label' for='trabajo'>Proveedor</label>";
                $cad=$cad. "<div class='controls'>";
                $cad=$cad. $cadena."<div class='row-fluid'><div class='span12'><option value='-1'>Seleccione Proveedor</option></div></div>";
                foreach ($comboProve as $option){
                    $value = $option['value'];
                    $label = $option['label'];                                                
                        $cad=$cad. "<div class='row-fluid'><div class='span12'><option value='$value'>$label</option></div></div>";                        
                    }
                $cad= $cad."</select>";
                $cad= $cad. "</div>";
                $cad= $cad. "</div>";
            } else $cad="<span class='label label-warning'>No exite proveedor</span>";
        } else $cad="<span class='label label-warning'>No exite proveedor</span>";        
        
     echo $cad;
    }
    
    public function buscarPrecio(){
         $provedor= $this->input->get('provedor'); 
         $ins= $this->input->get('insumo');
        
         if($provedor!='-1'){
             $precio= $this->pedido_model->buscarPrecio($provedor,$ins);
            echo $precio[0]['prec'];
         } else echo '';
         
    }
    private function buscaMismoInsumo($array, $valores,$idInsumo,$posactual){
        $m=0;$sum=0;
        foreach($array as $arr){
            if($idInsumo==$arr && $posactual!=$m){
               $sum+=floatval($valores[$m]);
            }
            $m++;
        }
        return $sum;
    }
    public function guardarListaCompra(){
        $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id'];  
        $idInsumos= $this->input->post('idInsumo');        
        $indicador= $this->input->post('indicador');
         $lineas= $this->input->post('lineas');        
        $nomInsu= $this->input->post('nomInsu');
        $unidad= $this->input->post('unidad');
        $cant= $this->input->post('cant');
        $precio= $this->input->post('precio');
        $desrip= $this->input->post('desrip');
        $idProvedor= $this->input->post('idProvedor');
        $subTotal= $this->input->post('subTotal');
        $total= $this->input->post('total');
        $dato=array('CostoTotal'=>$total,'FechaLista'=>date('Y-m-d'),'IdUsuario'=>$usuarioSesion);
        $idLista= $this->pedido_model->ingresarlistaCompra($dato);
        $m=0;$idInsumo='';
        
        
        foreach($idInsumos as $idIns){
            if($idIns==''){
                $dato=array('DetalleCaracteristica'=>$desrip[$m]);
                $idCract= $this->pedido_model->cracteristicaInsumo($dato);
                $dato=array('NombreInsumo'=>$nomInsu[$m],'DetalleInsumo'=>$desrip[$m],'Unidad'=>$unidad[$m],
                    'CantidadDisponible'=>$cant[$m],'NumeroCaract'=>$idCract,'IdUsuario'=>$usuarioSesion,
                    'preUnidad'=>$precio[$m]);
                $idInsumo= $this->pedido_model->creaInsumo($dato);
                $dato=array('Detalle'=>$desrip[$m],'Cantidad'=>$cant[$m],'Subtotal'=>$subTotal[$m],
                    'IdInsumo'=>$idInsumo,'IdListaCompraInsumos'=>$idLista);
                $this->pedido_model->creaLineaCompra($dato);
            } else {
                if($indicador[$m]>0){
                    $actualiza=array('Estado'=>1);//para que no se considerado
                    $this->pedido_model->actualizarItemxInsumo($idIns,$lineas[$m],$actualiza);
                    //se verificara si se tiene mismos insumos y se puede guardar como cantidad disponible
                    $suma=$this->buscaMismoInsumo($idInsumos, $cant,$idIns,$m);                    
                    if($suma>0){                       
                       //se actualizara como cantidad disponible
                       $in=array('CantidadDisponible'=>$suma);
                       $this->pedido_model->actualizarInsumo($idIns,$in);
                    }
                }
                $dato=array('Detalle'=>$desrip[$m],'Cantidad'=>$cant[$m],'Subtotal'=>$subTotal[$m],
                    'IdInsumo'=>$idIns,'IdListaCompraInsumos'=>$idLista,'idProveedor'=>$idProvedor[$m]);
                $this->pedido_model->creaLineaCompra($dato);
            }
            $m++;
        }
        
        $login=$this->loggedIn();
        $args['title'] = 'Proveedor';
        $args['content'] = 'pedido/listaProvedor';
        $args['confirm'] = 'listaProveedor';
        $args['mensaje'] = 'Se guardo coorectamenta la lista de compras';
        $args['username'] = $login['username'];        
        $this->load->view('view',$args);
    }
    
    public function imprimirListaCompra(){
        $login=$this->loggedIn();
        $session_data = $this->session->userdata['logged_in'];
        $usuarioSesion=$session_data['user_id'];  
        $idInsumos= $this->input->post('idInsumo');
        $nomInsu= $this->input->post('nomInsu');
        $unidad= $this->input->post('unidad');
        $cant= $this->input->post('cant');
        $precio= $this->input->post('precio');
        $desrip= $this->input->post('desrip');
        $idProvedor= $this->input->post('idProvedor');
        $nomProve= $this->input->post('proveedor');
        $subTotal= $this->input->post('subTotal');
        $total= $this->input->post('total');
        $dato=array('CostoTotal'=>$total,'FechaLista'=>date('Y-m-d'));
        $idLista= $this->pedido_model->ingresarlistaCompra($dato);
        $m=0;$idInsumo='';
        $data=array();
        foreach($idInsumos as $idIns){
            if($idIns==''){
                $dato=array('DetalleCaracteristica'=>$desrip[$m]);
                $idCract= $this->pedido_model->cracteristicaInsumo($dato);
                $dato=array('NombreInsumo'=>$nomInsu[$m],'DetalleInsumo'=>$desrip[$m],'Unidad'=>$unidad[$m],
                    'CantidadDisponible'=>$cant[$m],'NumeroCaract'=>$idCract,'IdUsuario'=>$usuarioSesion,
                    'preUnidad'=>$precio[$m],);
                $idInsumo= $this->pedido_model->creaInsumo($dato);
                $dato=array('Detalle'=>$desrip[$m],'Cantidad'=>$cant[$m],'Subtotal'=>$subTotal[$m],
                    'IdInsumo'=>$idInsumo,'IdListaCompraInsumos'=>$idLista);
                $this->pedido_model->creaLineaCompra($dato);
            } else {
                $dato=array('Detalle'=>$desrip[$m],'Cantidad'=>$cant[$m],'Subtotal'=>$subTotal[$m],
                    'IdInsumo'=>$idIns,'IdListaCompraInsumos'=>$idLista,'idProveedor'=>$idProvedor[$m]);
                $this->pedido_model->creaLineaCompra($dato);
            }
            $fila=array(($m+1),$nomInsu[$m],$nomProve[$m],$desrip[$m],$cant[$m],$precio[$m],'S/. '.$subTotal[$m]);
            array_push($data,$fila);
            $m++;
        }
        //se imprimira
        $nomDoc = $login['username'].'_MiListadeCompra';
        $pdf=new PDFReport();
        $header=array('Numero','Nombre Insumo','Proveedor','Descripcion','Cantidad','Precio Unidad','Subtotal');
        $pdf->AliasNbPages();
        $pdf->crearPDFTabla('Lista de Compra',$header,$data,40,10);  
        $pdf->total($total);
        $pdf->Output($nomDoc.'.pdf', 'I');
    }
}
?>
